For an individual, the ability to cope with challenges is fundamental to surviving in a changing environment. The corticosterone stress response has a major impact on the ability of an organism to react to the challenges of rapid environmental change. Previous research has shown that when faced with a prolonged cold snap, adult female tree swallows increase their baseline and stress-induced corticosterone levels, and that individual variation in corticosterone levels predicts reproductive success during challenges. Tree swallows are advancing reproduction with warming springs and are more likely to encounter cold snaps during breeding, which can reduce reproductive success. Here, using data from a long-term study of free-living tree swallows collected from 2013-2025, we show that nestling tree swallows show an immediate increase in corticosterone levels when ambient temperatures fall below a threshold of 18.5°C, which has previously been identified as the threshold at which insect availability begins to decline. As a result of earlier reproduction, nestlings are more likely to experience cold snaps during development, making it especially important to understand their effects. Ongoing work is also testing whether male and female nestlings display dimorphism in their corticosterone responses to further our understanding of how nestlings are responding to thermal environmental shifts.
Hypothesis 1: Temperature will show a negative relationship with baseline and stress-induced corticosterone, with there being an increase in these measures when both average daily temperatures and average 3-day temperatures are lower; Temperature will have no relationship with post-dex corticosterone levels.
Hypothesis 2: Males and females will show base differences in their corticosterone regulation, with females showing lower corticosterone across all measures, based on previous studies done in adult birds (baseline corticosterone, stress-induced corticosterone, and post-dex corticosterone).
Hypothesis 3:Females will showcase a stronger corticosterone response (across all measures) in response to lower temperatures, consistent with prior work in our population showing that females may more sensitive to some stressors
Here, we are running analyses with both average temperature of capture day and average 3 day temperature (before capture) to see what is a better predictor. In general, it looks like there is no huge difference, but daily temperature may be a slightly better predictor based on the co-efficient values.
Daily average:
bleed1_weather <- lmer(log_bleed1_final_cort ~ avgC_capture_day + bleed1_latency_sec + ( 1 | nest_key), data = weather_df)
summary(bleed1_weather)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log_bleed1_final_cort ~ avgC_capture_day + bleed1_latency_sec +
## (1 | nest_key)
## Data: weather_df
##
## REML criterion at convergence: 1738.4
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.5350 -0.6104 -0.0021 0.5517 3.4522
##
## Random effects:
## Groups Name Variance Std.Dev.
## nest_key (Intercept) 0.5341 0.7308
## Residual 0.7285 0.8535
## Number of obs: 601, groups: nest_key, 164
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 2.915464 0.418310 173.696315 6.970 6.34e-11 ***
## avgC_capture_day -0.095949 0.019804 161.772050 -4.845 2.94e-06 ***
## bleed1_latency_sec 0.001996 0.001094 553.525979 1.824 0.0686 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) avgC__
## avgC_cptr_d -0.959
## bld1_ltncy_ -0.229 -0.002
simulationOutput = simulateResiduals(bleed1_weather, plot = F)
plot(simulationOutput)
testDispersion(simulationOutput)
##
## DHARMa nonparametric dispersion test via sd of residuals fitted vs.
## simulated
##
## data: simulationOutput
## dispersion = 0.99464, p-value = 0.944
## alternative hypothesis: two.sided
3 day average:
bleed1_weather2 <- lmer(log_bleed1_final_cort ~ avgC_3day + bleed1_latency_sec + ( 1 | nest_key), data = weather_df)
summary(bleed1_weather2)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log_bleed1_final_cort ~ avgC_3day + bleed1_latency_sec + (1 |
## nest_key)
## Data: weather_df
##
## REML criterion at convergence: 1748
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.4633 -0.6173 -0.0048 0.5547 3.4321
##
## Random effects:
## Groups Name Variance Std.Dev.
## nest_key (Intercept) 0.5912 0.7689
## Residual 0.7265 0.8524
## Number of obs: 601, groups: nest_key, 164
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 2.832560 0.553996 161.218203 5.113 8.9e-07 ***
## avgC_3day -0.093901 0.027257 157.876420 -3.445 0.000732 ***
## bleed1_latency_sec 0.002161 0.001099 547.565519 1.966 0.049765 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) avgC_3
## avgC_3day -0.976
## bld1_ltncy_ -0.133 -0.043
Daily average:
bleed2weather <- lmer(log_bleed2_final_cort ~ avgC_capture_day + log_bleed1_final_cort + ( 1 | nest_key), data = weather_df)
summary(bleed2weather)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log_bleed2_final_cort ~ avgC_capture_day + log_bleed1_final_cort +
## (1 | nest_key)
## Data: weather_df
##
## REML criterion at convergence: 1459.1
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -4.1586 -0.5325 0.0947 0.5639 2.2550
##
## Random effects:
## Groups Name Variance Std.Dev.
## nest_key (Intercept) 0.5099 0.7141
## Residual 0.4854 0.6967
## Number of obs: 572, groups: nest_key, 158
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 3.04681 0.39981 180.40497 7.621 1.38e-12 ***
## avgC_capture_day -0.03715 0.01899 170.17521 -1.956 0.0521 .
## log_bleed1_final_cort 0.24658 0.03565 553.82810 6.917 1.28e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) avgC__
## avgC_cptr_d -0.982
## lg_bld1_fn_ -0.258 0.166
simulationOutput = simulateResiduals(bleed2weather, plot = F)
plot(simulationOutput)
testDispersion(simulationOutput)
##
## DHARMa nonparametric dispersion test via sd of residuals fitted vs.
## simulated
##
## data: simulationOutput
## dispersion = 1.0125, p-value = 0.864
## alternative hypothesis: two.sided
3 day average:
bleed2weather2 <- lmer(log_bleed2_final_cort ~ avgC_3day + log_bleed1_final_cort + ( 1 | nest_key), data = weather_df)
summary(bleed2weather2)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log_bleed2_final_cort ~ avgC_3day + log_bleed1_final_cort + (1 |
## nest_key)
## Data: weather_df
##
## REML criterion at convergence: 1462.1
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -4.1476 -0.5196 0.0799 0.5435 2.2502
##
## Random effects:
## Groups Name Variance Std.Dev.
## nest_key (Intercept) 0.5245 0.7242
## Residual 0.4856 0.6968
## Number of obs: 572, groups: nest_key, 158
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 2.54906 0.51763 158.28188 4.924 2.11e-06 ***
## avgC_3day -0.01328 0.02532 153.20874 -0.525 0.601
## log_bleed1_final_cort 0.25480 0.03546 557.41570 7.186 2.15e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) avgC_3
## avgC_3day -0.989
## lg_bld1_fn_ -0.183 0.110
Daily average:
bleed3weather <- lmer(log_bleed3_final_cort ~ avgC_capture_day + log_bleed1_final_cort + ( 1 | nest_key), data = weather_df)
summary(bleed3weather)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log_bleed3_final_cort ~ avgC_capture_day + log_bleed1_final_cort +
## (1 | nest_key)
## Data: weather_df
##
## REML criterion at convergence: 962
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -4.5517 -0.5167 -0.0287 0.5070 5.1319
##
## Random effects:
## Groups Name Variance Std.Dev.
## nest_key (Intercept) 0.2957 0.5438
## Residual 0.3229 0.5682
## Number of obs: 454, groups: nest_key, 121
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 2.123395 0.357299 130.985722 5.943 2.38e-08 ***
## avgC_capture_day -0.018116 0.016967 122.536095 -1.068 0.288
## log_bleed1_final_cort 0.008436 0.032835 439.429827 0.257 0.797
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) avgC__
## avgC_cptr_d -0.983
## lg_bld1_fn_ -0.262 0.177
simulationOutput = simulateResiduals(bleed3weather, plot = F)
plot(simulationOutput)
testDispersion(simulationOutput)
##
## DHARMa nonparametric dispersion test via sd of residuals fitted vs.
## simulated
##
## data: simulationOutput
## dispersion = 0.96964, p-value = 0.792
## alternative hypothesis: two.sided
3 day average:
bleed3weather2 <- lmer(log_bleed3_final_cort ~ avgC_3day + log_bleed1_final_cort + ( 1 | nest_key), data = weather_df)
summary(bleed3weather2)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log_bleed3_final_cort ~ avgC_3day + log_bleed1_final_cort + (1 |
## nest_key)
## Data: weather_df
##
## REML criterion at convergence: 961.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -4.5956 -0.5152 -0.0278 0.5068 5.1354
##
## Random effects:
## Groups Name Variance Std.Dev.
## nest_key (Intercept) 0.2993 0.5471
## Residual 0.3223 0.5677
## Number of obs: 454, groups: nest_key, 121
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 2.13610 0.46338 111.92193 4.610 1.08e-05 ***
## avgC_3day -0.01905 0.02256 107.96570 -0.844 0.400
## log_bleed1_final_cort 0.01097 0.03254 443.74268 0.337 0.736
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) avgC_3
## avgC_3day -0.990
## lg_bld1_fn_ -0.183 0.115
bleed1_sex <- lmer(log_bleed1_final_cort ~ sex + bleed1_latency_sec + ( 1 | nest_key), data = sex_df)
summary(bleed1_sex)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log_bleed1_final_cort ~ sex + bleed1_latency_sec + (1 | nest_key)
## Data: sex_df
##
## REML criterion at convergence: 1757.1
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.4701 -0.5800 -0.0154 0.5371 3.4105
##
## Random effects:
## Groups Name Variance Std.Dev.
## nest_key (Intercept) 0.6510 0.8069
## Residual 0.7263 0.8522
## Number of obs: 601, groups: nest_key, 164
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 9.494e-01 1.274e-01 5.389e+02 7.454 3.63e-13 ***
## sexMale 3.989e-02 7.865e-02 5.153e+02 0.507 0.612
## bleed1_latency_sec 2.010e-03 1.103e-03 5.433e+02 1.822 0.069 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) sexMal
## sexMale -0.282
## bld1_ltncy_ -0.765 -0.003
simulationOutput = simulateResiduals(bleed1_sex, plot = F)
plot(simulationOutput)
testDispersion(simulationOutput)
##
## DHARMa nonparametric dispersion test via sd of residuals fitted vs.
## simulated
##
## data: simulationOutput
## dispersion = 1.0048, p-value = 0.864
## alternative hypothesis: two.sided
bleed2_sex <- lmer(log_bleed2_final_cort ~ sex + log_bleed1_final_cort + ( 1 | nest_key), data = sex_df)
summary(bleed2_sex)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log_bleed2_final_cort ~ sex + log_bleed1_final_cort + (1 | nest_key)
## Data: sex_df
##
## REML criterion at convergence: 1459.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -4.1207 -0.5130 0.0789 0.5499 2.2702
##
## Random effects:
## Groups Name Variance Std.Dev.
## nest_key (Intercept) 0.5201 0.7212
## Residual 0.4863 0.6974
## Number of obs: 572, groups: nest_key, 158
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 2.25749 0.08172 295.17103 27.626 < 2e-16 ***
## sexMale 0.05062 0.06597 475.13834 0.767 0.443
## log_bleed1_final_cort 0.25653 0.03526 561.00350 7.276 1.16e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) sexMal
## sexMale -0.359
## lg_bld1_fn_ -0.464 -0.029
simulationOutput = simulateResiduals(bleed2_sex, plot = F)
plot(simulationOutput)
testDispersion(simulationOutput)
##
## DHARMa nonparametric dispersion test via sd of residuals fitted vs.
## simulated
##
## data: simulationOutput
## dispersion = 1.0182, p-value = 0.824
## alternative hypothesis: two.sided
bleed3_sex <- lmer(log_bleed3_final_cort ~ sex + log_bleed1_final_cort + ( 1 | nest_key), data = sex_df)
summary(bleed3_sex)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log_bleed3_final_cort ~ sex + log_bleed1_final_cort + (1 | nest_key)
## Data: sex_df
##
## REML criterion at convergence: 957.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -4.5645 -0.5057 -0.0177 0.5134 5.0510
##
## Random effects:
## Groups Name Variance Std.Dev.
## nest_key (Intercept) 0.2921 0.5404
## Residual 0.3224 0.5678
## Number of obs: 454, groups: nest_key, 121
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 1.79434 0.07105 221.04399 25.256 <2e-16 ***
## sexMale -0.09935 0.06002 378.72536 -1.655 0.0987 .
## log_bleed1_final_cort 0.01622 0.03227 446.74111 0.503 0.6154
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) sexMal
## sexMale -0.394
## lg_bld1_fn_ -0.444 -0.022
simulationOutput = simulateResiduals(bleed3_sex, plot = F)
plot(simulationOutput)
testDispersion(simulationOutput)
##
## DHARMa nonparametric dispersion test via sd of residuals fitted vs.
## simulated
##
## data: simulationOutput
## dispersion = 0.97126, p-value = 0.8
## alternative hypothesis: two.sided
bleed1_int <- lmer(log_bleed1_final_cort ~ avgC_capture_day + sex + avgC_capture_day*sex + bleed1_latency_sec + (1 | nest_key), data = sex_df)
summary(bleed1_int)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log_bleed1_final_cort ~ avgC_capture_day + sex + avgC_capture_day *
## sex + bleed1_latency_sec + (1 | nest_key)
## Data: sex_df
##
## REML criterion at convergence: 1747
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.5054 -0.6033 -0.0050 0.5574 3.4254
##
## Random effects:
## Groups Name Variance Std.Dev.
## nest_key (Intercept) 0.5347 0.7312
## Residual 0.7307 0.8548
## Number of obs: 601, groups: nest_key, 164
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 2.837806 0.468587 259.960341 6.056 4.86e-09 ***
## avgC_capture_day -0.093109 0.022416 254.492554 -4.154 4.47e-05 ***
## sexMale 0.179882 0.462165 513.709255 0.389 0.6973
## bleed1_latency_sec 0.001991 0.001096 551.380542 1.817 0.0697 .
## avgC_capture_day:sexMale -0.006621 0.022566 514.162263 -0.293 0.7693
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) avgC__ sexMal bld1__
## avgC_cptr_d -0.964
## sexMale -0.449 0.457
## bld1_ltncy_ -0.201 -0.005 -0.008
## avgC_cpt_:M 0.445 -0.467 -0.986 0.008
simulationOutput = simulateResiduals(bleed1_int, plot = F)
plot(simulationOutput)
testDispersion(simulationOutput)
##
## DHARMa nonparametric dispersion test via sd of residuals fitted vs.
## simulated
##
## data: simulationOutput
## dispersion = 0.98701, p-value = 0.872
## alternative hypothesis: two.sided
bleed2_int <- lmer(log_bleed2_final_cort ~ avgC_capture_day + sex + avgC_capture_day*sex + log_bleed1_final_cort + (1 | nest_key), data = sex_df)
summary(bleed2_int)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log_bleed2_final_cort ~ avgC_capture_day + sex + avgC_capture_day *
## sex + log_bleed1_final_cort + (1 | nest_key)
## Data: sex_df
##
## REML criterion at convergence: 1467
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -4.1300 -0.5281 0.0968 0.5480 2.3023
##
## Random effects:
## Groups Name Variance Std.Dev.
## nest_key (Intercept) 0.5135 0.7166
## Residual 0.4847 0.6962
## Number of obs: 572, groups: nest_key, 158
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 2.84729 0.43638 249.45342 6.525 3.77e-10 ***
## avgC_capture_day -0.02831 0.02088 243.55135 -1.356 0.176
## sexMale 0.45825 0.38756 466.52667 1.182 0.238
## log_bleed1_final_cort 0.24475 0.03567 551.39868 6.862 1.84e-11 ***
## avgC_capture_day:sexMale -0.02005 0.01888 467.44227 -1.062 0.289
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) avgC__ sexMal lg_1__
## avgC_cptr_d -0.982
## sexMale -0.396 0.402
## lg_bld1_fn_ -0.228 0.145 -0.021
## avgC_cpt_:M 0.393 -0.411 -0.985 0.016
simulationOutput = simulateResiduals(bleed2_int, plot = F)
plot(simulationOutput)
testDispersion(simulationOutput)
##
## DHARMa nonparametric dispersion test via sd of residuals fitted vs.
## simulated
##
## data: simulationOutput
## dispersion = 1.0111, p-value = 0.88
## alternative hypothesis: two.sided
bleed3_int <- lmer(log_bleed3_final_cort ~ avgC_capture_day + sex + avgC_capture_day*sex + log_bleed1_final_cort + (1 | nest_key), data = sex_df)
summary(bleed3_int)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log_bleed3_final_cort ~ avgC_capture_day + sex + avgC_capture_day *
## sex + log_bleed1_final_cort + (1 | nest_key)
## Data: sex_df
##
## REML criterion at convergence: 969.4
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -4.5156 -0.5123 -0.0289 0.5064 5.0344
##
## Random effects:
## Groups Name Variance Std.Dev.
## nest_key (Intercept) 0.2932 0.5415
## Residual 0.3230 0.5683
## Number of obs: 454, groups: nest_key, 121
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 2.12815 0.39305 190.99189 5.414 1.83e-07 ***
## avgC_capture_day -0.01614 0.01879 185.17992 -0.859 0.392
## sexMale -0.04962 0.36522 373.90112 -0.136 0.892
## log_bleed1_final_cort 0.01019 0.03283 437.57749 0.310 0.756
## avgC_capture_day:sexMale -0.00233 0.01758 371.29059 -0.132 0.895
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) avgC__ sexMal lg_1__
## avgC_cptr_d -0.983
## sexMale -0.422 0.424
## lg_bld1_fn_ -0.237 0.160 -0.006
## avgC_cpt_:M 0.420 -0.435 -0.986 0.002
simulationOutput = simulateResiduals(bleed3_int, plot = F)
plot(simulationOutput)
testDispersion(simulationOutput)
##
## DHARMa nonparametric dispersion test via sd of residuals fitted vs.
## simulated
##
## data: simulationOutput
## dispersion = 0.96731, p-value = 0.768
## alternative hypothesis: two.sided